package com.rybbaby.tss.platform.sysFiles.service;


import com.rybbaby.tss.core.web.service.IBaseService;
import com.rybbaby.tss.platform.sysFiles.entity.SysFiles;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * @author 谢进伟
 * @description 文件库数据库操作服务接口
 * @createDate 2016-11-12 上午10:03:27
 */
public interface ISysFilesService extends IBaseService<SysFiles> {

    /**
     * 组名 数据源
     *
     * @return
     */
    public abstract List<Map<String, Object>> groupIdDatasource();

    /**
     * 使用上传的缓存文件
     *
     * @param businessTableName   业务表表名
     * @param primaryKeyFieldName 业务表主键字段名
     * @param businessId          业务数据唯一标识值
     * @param fieldName           业务表记录图片字段
     * @param cacheGroupNames     缓存文件分组名,多个分组用逗号隔开
     * @param sessionId           会话Id
     * @param loginUserId         当前登录用户Id
     * @param oldValue            原来的值
     * @return
     * @throws Exception
     */
    public boolean useFile(String businessTableName, String primaryKeyFieldName, Serializable businessId, String fieldName, String cacheGroupNames, String sessionId, String loginUserId, String oldValue) throws Exception;

    /**
     * 更新使用的文件
     *
     * @param businessTableName   业务表表名
     * @param primaryKeyFieldName 业务表主键字段名
     * @param businessId          业务数据唯一标识值
     * @param fieldName           业务表记录图片字段
     * @param cacheGroupNames     缓存文件分组名,多个分组用逗号隔开
     * @param sessionId           会话Id会话Id
     * @param loginUserId         当前登录用户Id
     * @param delteFileIds        业务表不需要再继续使用的文件id
     * @param oldValue            原来的值
     * @return
     * @throws Exception
     */
    public boolean updateUsedFile(String businessTableName, String primaryKeyFieldName, Serializable businessId, String fieldName, String cacheGroupNames, String sessionId, String loginUserId, String delteFileIds, String oldValue) throws Exception;
}
